package com.teamin.service;

import com.teamin.entity.WxGroupEntity;
import com.teamin.web.exception.GlobalErrorInfoException;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface WxGroupService {
	/**
	 * 保存微信群
	 * 
	 * @param wxGroupEntity
	 * @return
	 * @throws GlobalErrorInfoException 
	 */
	int saveGroup(WxGroupEntity wxGroupEntity) throws GlobalErrorInfoException;

	/**
	 * 查找一个微信群
	 * 
	 * @param groupId
	 * @return
	 * @throws GlobalErrorInfoException 
	 */
	WxGroupEntity selectWxGroupEntity(@Param("groupId") String groupId) throws GlobalErrorInfoException;

	/**
	 * 更新微信群
	 * 
	 * @param wxGroupEntity
	 * @return
	 * @throws GlobalErrorInfoException 
	 */
	int updateWxGroupEntity(WxGroupEntity wxGroupEntity) throws GlobalErrorInfoException;
	
	/**
	 * 关联群和圈子
	 * @param circleId
	 * @param userId 
	 * @return
	 * @throws GlobalErrorInfoException 
	 */
	int addWxGroupEntityToCircle(WxGroupEntity wxGroupEntity,Long circleId, Long userId) throws GlobalErrorInfoException;
	/**
	 * 	取消群和圈子关联
	 * @param groupId
	 * @param circleId
	 * @return
	 * @throws GlobalErrorInfoException 
	 */
	int removeWxGroupEntityFromCircle(String groupId,Long circleId) throws GlobalErrorInfoException;

	/**
	 * 查询微信群列表
	 * 
	 * @param circleId
	 *            圈子id
	 * @return
	 */
	List<WxGroupEntity> selectwxGroupEntitys( Long circleId);

	/**
	 * 获取圈子中所关联的微信群
	 * @param  circleId 当前的圈子
	 * @return 微信群ID列表
	 */
	public List<WxGroupEntity> getGroupsByCircle(Long circleId) ;

	Boolean existGroupCircle(String groupId, Long circleId);

	void saveUserGroup(Long userId, String groupId);
}
